package service;

import bean.Direccion;
import bean.Localidad;
import bean.Provincia;
import bean.vo.DireccionVO;

public class ServiciosDireccion {

	protected static Direccion crearDireccion(DireccionVO direccion) throws Exception {
		return ServiciosDireccion.crearDireccion(
				direccion.getProvincia().getNombre(), 
				direccion.getLocalidad().getNombre(), 
				direccion.getCalle(), 
				direccion.getAltura(), 
				direccion.getCodigoPostal());
	}
	
	protected static Direccion crearDireccion (String provincia, String localidad, 
			String calle, int altura, String codigoPostal) throws Exception {
		
		if (provincia == null || provincia.equalsIgnoreCase("")) {
			throw new Exception("ERROR - Provincia es requerido.");
		}
		
		if (localidad == null || localidad.equalsIgnoreCase("")) {
			throw new Exception("ERROR - Localidad es requerido.");
		}
		
		if (calle == null || calle.equalsIgnoreCase("")) {
			throw new Exception("ERROR - Calle es requerido.");
		}
		
		if (codigoPostal == null || codigoPostal.equalsIgnoreCase("")) {
			throw new Exception("ERROR - Codigo Postal es requerido.");
		}
		
		Provincia prov = ServiciosProvincia.buscarProvincia(provincia);
		if (prov == null)
			prov = new Provincia(provincia);
			
		Localidad loc = ServiciosLocalidad.buscarLocalidad(localidad);
		if (loc == null)
			loc = new Localidad(localidad);
			
		Direccion direccion = new Direccion(prov, loc, calle, altura, codigoPostal);
			
		return direccion;
	}
	
}
